package com.opgea.crm.repository;

import java.util.List;


import com.opgea.crm.domain.entities.Issue;
import com.opgea.crm.domain.entities.IssueComment;
import com.opgea.crm.domain.entities.ProjectDetails;
import com.opgea.crm.domain.entities.SetupsValue;
import com.opgea.crm.domain.entities.security.CrmUser;

public interface IssueRepo {

    public Long create(Issue issue);  
    public void update(Issue issue);
    public void remove(Long id);
    public Issue find(Long id);
    public List<Issue> findAll();
    public List<Issue> findAllByProjectId(long projectId) ;
    public List<IssueComment> findAllCommentsByIssueId(long issueId);
    public List<Issue> issueByProjectId(Long projectId,Long priorityId,Long assigntoId,CrmUser user);  
    public List<ProjectDetails> allProjectAndMembers(Long projectId);
    public List<SetupsValue> allProjects();
    public Issue findIssueById(Long issueId); 
   
}
